#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n;
int a[N];
inline int read()
{
    int f = 1,x = 0;
    char ch = getchar();
    while(ch > '9' || ch < '0')
    {
        if(ch == '-') f = -1;
        ch = getchar();
    }
    while(ch >= '0' && ch <= '9') x = x * 10 + ch - '0',ch = getchar();
    return f * x;
}

inline void write(int x)
{
    if(x < 0) putchar('-'),x = -x;
    if(x > 9) write(x / 10);
    putchar(x % 10 + '0');
    return;
}
queue <int> q;
int main()
{
    freopen("duel.in","r",stdin);
    freopen("duel.out","w",stdout);
    n = read();
    for(int i = 1;i <= n;i++)
        a[i] = read();
    sort(a + 1,a + n + 1);
    for(int i = 1;i <= n;i++)
    {
        if(q.size() == 0) q.push(a[i]);
        else
        {
            if(a[i] > q.front())
            {
                q.pop();
                q.push(a[i]);
            }
            else q.push(a[i]);
        }
    }
    write(q.size());
    return 0;
}
